{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dynamic Process: Robustness to the Belief Updating Parameter (C.2)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:37.416421Z", "start_time": "2021-02-09T13:45:30.509634Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from matplotlib import pyplot as plt\n", "from poisson_approval import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:37.424400Z", "start_time": "2021-02-09T13:45:37.419414Z" } }, "outputs": [], "source": [ "N_SAMPLES = 10000\n", "N_MAX_EPISODES = 1000" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:37.462835Z", "start_time": "2021-02-09T13:45:37.428390Z" } }, "outputs": [], "source": [ "update_ratios = {\n", " '1': 1,\n", " '0.5': 0.5,\n", " 'one_over_log_log_t_plus_fourteen': one_over_log_log_t_plus_fourteen,\n", " 'one_over_log_t_plus_one': one_over_log_t_plus_one,\n", " 'one_over_sqrt_t': one_over_sqrt_t,\n", " 'one_over_t': one_over_t, \n", "}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:37.473806Z", "start_time": "2021-02-09T13:45:37.465827Z" } }, "outputs": [], "source": [ "update_ratios_legend = {\n", " '1': '1', \n", " '0.5': '0.5',\n", " 'one_over_log_log_t_plus_fourteen': '1 / log(log(t + 14))',\n", " 'one_over_log_t_plus_one': '1 / log(t + 1)',\n", " 'one_over_sqrt_t': '1 / sqrt(t)',\n", " 'one_over_t': '1 / t', \n", "}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:37.485166Z", "start_time": "2021-02-09T13:45:37.476797Z" } }, "outputs": [], "source": [ "rand_profile = RandProfileHistogramUniform(n_bins=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convergence Rate" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:42.229898Z", "start_time": "2021-02-09T13:45:37.488152Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ApprovalPluralityAnti-plurality
Belief updating parameter
10.93871.00.0
0.50.95031.00.0
one_over_log_log_t_plus_fourteen0.94831.00.0
one_over_log_t_plus_one0.94971.00.0
one_over_sqrt_t0.94681.00.0
one_over_t0.00000.00.0
\n", "
" ], "text/plain": [ " Approval Plurality Anti-plurality\n", "Belief updating parameter \n", "1 0.9387 1.0 0.0\n", "0.5 0.9503 1.0 0.0\n", "one_over_log_log_t_plus_fourteen 0.9483 1.0 0.0\n", "one_over_log_t_plus_one 0.9497 1.0 0.0\n", "one_over_sqrt_t 0.9468 1.0 0.0\n", "one_over_t 0.0000 0.0 0.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table_cv = pd.DataFrame()\n", "table_cv.index.name = 'Belief updating parameter'\n", "d_update_ratio_name_results = {}\n", "for update_ratio_name, update_ratio in update_ratios.items():\n", " results = monte_carlo_fictitious_play(\n", " factory=rand_profile,\n", " n_samples=N_SAMPLES,\n", " n_max_episodes=N_MAX_EPISODES,\n", " voting_rules=VOTING_RULES,\n", " init='random_tau',\n", " perception_update_ratio=update_ratio,\n", " monte_carlo_settings=[\n", " MCS_N_EPISODES,\n", " MCS_CONVERGES,\n", " ],\n", " file_save='sav/perception_update_%s.sav' % update_ratio_name,\n", " )\n", " d_update_ratio_name_results[update_ratio_name] = results\n", " for voting_rule in VOTING_RULES:\n", " table_cv.loc[update_ratio_name, voting_rule] = float(results[voting_rule]['mean_converges'])\n", "table_cv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convergence Speed" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2021-02-09T13:45:45.192527Z", "start_time": "2021-02-09T13:45:42.233886Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 4))\n", "for update_ratio_name, update_ratio in update_ratios.items():\n", " plt_cdf(\n", " data=d_update_ratio_name_results[update_ratio_name]['Approval']['n_episodes'],\n", " weights=np.ones(N_SAMPLES) / N_SAMPLES,\n", " n_samples=N_SAMPLES,\n", " data_min=0,\n", " data_max=N_MAX_EPISODES,\n", " label=update_ratios_legend[update_ratio_name]\n", " )\n", "plt.grid(True)\n", "plt.legend()\n", "plt.xlabel('Number of episodes')\n", "plt.ylabel('Cumulative likelihood of occurrence')\n", "plt.xlim(0, N_MAX_EPISODES)\n", "plt.ylim(0, 1.05)\n", "plt.savefig('img/fspeedCV_perception_update_ratio.png', dpi=600, bbox_inches=\"tight\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }